package com.telefonica.bmws.dao;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;

import com.telefonica.bmws.parameter.DesafiliaAbonadoParameter;
import com.telefonica.bmws.result.DesafiliaAbonadoResult;

public class DesafiliaAbonadoDAO {

	public DesafiliaAbonadoResult DesafiliarAbonado(DesafiliaAbonadoParameter parameter) throws SQLException {
		String consulta = "{call PKG_BM_ABONADO.SP_DesafiliaAbonado(?,?,?,?,?)}";
		Connection conn = ConnectionDAO.ObtenerConexion();
		
		
		DesafiliaAbonadoResult result = new DesafiliaAbonadoResult();
		CallableStatement clb = conn.prepareCall(consulta);
		
		try {
			

			clb.setString(1, parameter.NumeroCelular);
			clb.setString(2, parameter.CodigoEntidad);
			clb.setString(3, parameter.IpCliente);
			clb.registerOutParameter(4, java.sql.Types.INTEGER);
			clb.registerOutParameter(5, java.sql.Types.VARCHAR);

			clb.executeUpdate();

			result.Resultado = clb.getInt(4);
			result.Mensaje = clb.getString(5);
			System.out.println("Resultado :" + result.Resultado);
			System.out.println("Mensaje :" + result.Mensaje);
			return result;

		} catch (SQLException ex) {
			System.out.println("problemas de conexion , error :" + ex.toString());
			result.Mensaje = ex.toString();
			result.Resultado = 0;
			return result;
		} finally {

			if (clb != null) {
				clb.close();
			}

			if (conn != null) {
				conn.close();
			}

		}
		
	}

}
